﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using System.Web.UI;
using System.Web.UI.WebControls;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
using System.Data;
using System.IO;
using System.Text;

/// <summary>
/// Summary description for GerenciaArquivo
/// </summary>
public class GerenciaArquivo : System.Web.UI.Page
{
    ConexaoMDBD Command = new ConexaoMDBD();
    
    public GerenciaArquivo()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    // Cria um arquivo no diretório especificado na pasta da aplicação web
    public String NomeArquivoCriado(String NomeDiretorio, String NomeArquivo, Boolean Apaga)
    {
        String NomeArquivoCriado = NomeDiretorio + @"\" + NomeArquivo + ".sql";

        if (Apaga == true)
        {
            ApagaArquivo(NomeArquivoCriado);
        }

        if (!File.Exists(NomeArquivoCriado))
        {
            StreamWriter Arquivo = new StreamWriter(NomeArquivoCriado, true);
            Arquivo.Close();
        }

        return NomeArquivoCriado;
    }

    // Apaga um arquivo dentro de um diretório específico
    public Boolean ApagaArquivo(String NomeArquivo)
    {
        Boolean ApagaArquivo = false;

        try
        {
            if(File.Exists(NomeArquivo))
            {
                File.Delete(NomeArquivo);
            }

            ApagaArquivo = true;
        }
        catch (Exception e)
        {
            String MensagemErro = e.Message;
        }

        return ApagaArquivo;
    }

    // Grava um conteúdo em um arquivo dentro de um diretório específico
    public Boolean GravaArquivo(String NomeArquivo, String Conteudo)
    {
        Boolean GravaArquivo = false;

        try
        {
            //StreamWriter Arquivo = new StreamWriter(NomeArquivo, true);
            StreamWriter Arquivo = new StreamWriter(NomeArquivo, false,  System.Text.Encoding.GetEncoding("ISO-8859-1"));

            //Arquivo. = "UTF8"; //Encoding.UTF8;

            Arquivo.WriteLine(Conteudo);
            Arquivo.Close();

            GravaArquivo = true;
        }
        catch(Exception e)
        {
            String MensagemErro = e.Message;
        }

        return GravaArquivo;
    }
}
